var a = 1
var a = 3
console.log(a) //3
console.log(b) //undefined
var b = 2 //注意 这里不能省，否则报错
c = 3
c = 'asd'
console.log(c) //asd
var s = 'hello'
for (var i = 0; i < s.length; i++) {
  console.log(s[i])
}
console.log(i) // 5
var a = []
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i)
  }
}
a[6]() // 10
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i)
  }
}
a[6]() // 6
{
  var s2 = '1asd'
}
console.log(s2) //输出 1asd
function fn() {
  var arr = 12 //局部变量
}
fn()
// console.log(arr)//报错
// 如果没有使用变量操作符，会默认是全局变量。如下：
function fn2() {
  var message = '谭梦寻' //函数中的var声明的变量也是有范围的
  console.log(message)
}
// console.log(message);//报错 is not defined

var tmp = 123
if (true) {
  tmp = 'abc' // ReferenceError: Cannot access 'tmp' before initialization
  // let tmp
}
